<?php

/**
 * Description of CargoHabitacionServicios
 *
 * @author  Mariano Renkine
 * @author  Fernando Arau
 */
class CargoHabitacionServicios
{

  function agregarCargoHabitacion(CargoHabitacionDTO $cargoHabitacionDTO, $idComprobante)
  {
    $repoCargoHab = new RepoCargoHabitacion();
    $link = $repoCargoHab->OpenDB();
    $PMSServicio = new PMSServicios();
    $repoCargoHab->beginTransaction();
    $cargoHabitacion = $this->deDTO($cargoHabitacionDTO);
    $resultado = $repoCargoHab->agregar($cargoHabitacion, $idComprobante);
    if ($resultado)
      $resultado = $PMSServicio->cargarHabitacion($cargoHabitacion, $idComprobante);
    if ($resultado)
    {
      $repoCargoHab->commitTransaction();
    } else
    {
      $repoCargoHab->rollbackTransaction();
    }
    $repoCargoHab->CloseDB($link);
    return $resultado;
  }

  function modificarCargoHabitacion(CargoHabitacionDTO $cargoHabitacionDTO)
  {
    $repoCargoHab = new RepoCargoHabitacion();
    return $repoCargoHab->modificar($this->deDTO($cargoHabitacionDTO));
  }

  function eliminarCargoHabitacion(CargoHabitacionDTO $cargoHabitacionDTO)
  {
    $repoCargoHab = new RepoCargoHabitacion();
    return $repoCargoHab->eliminar($cargoHabitacionDTO->getId());
  }

  function aDTO(CargoHabitacion $cargoHabitacion)
  {
    $cargoHabitacionDTO = new CargoHabitacionDTO();
    $cargoHabitacionDTO->setDetalle($cargoHabitacion->getDetalle());
    $cargoHabitacionDTO->setFechaHora($cargoHabitacion->getFechaHora());
    $cargoHabitacionDTO->setId($cargoHabitacion->getId());
    $cargoHabitacionDTO->setPms($cargoHabitacion->getPms());
    $cargoHabitacionDTO->setDescuento($cargoHabitacion->getDescuento());
//    $PMSServicios = new PMSServicios();
//    $cargoHabitacionDTO->setPms($PMSServicios->aDTO($cargoHabitacion->getPms()));
    return $cargoHabitacionDTO;
  }

  function deDTO(CargoHabitacionDTO $cargoHabitacionDTO)
  {
    $cargoHabitacion = new CargoHabitacion();
    $cargoHabitacion->setDetalle($cargoHabitacionDTO->getDetalle());
    $cargoHabitacion->setFechaHora($cargoHabitacionDTO->getFechaHora());
    $cargoHabitacion->setId($cargoHabitacionDTO->getId());
    $cargoHabitacion->setPms($cargoHabitacionDTO->getPms());
    $cargoHabitacion->setDescuento($cargoHabitacionDTO->getDescuento());
//    $PMSServicios = new PMSServicios();
//    $cargoHabitacion->setPms($PMSServicios->deDTO($cargoHabitacionDTO->getPms()));
    return $cargoHabitacion;
  }

}

?>
